import { Entity, PrimaryColumn, ManyToOne, JoinColumn } from 'typeorm'
import { User } from 'src/modules/user/entities/user.entity'
import { Role } from './role.entity'

/**
 * 用户角色关联实体
 * 用于管理用户与角色的多对多关系
 */
@Entity('va_user_roles')
export class UserRole {
  /** 用户ID */
  @PrimaryColumn({ name: 'user_id' })
  userId: number

  /** 角色ID */
  @PrimaryColumn({ name: 'role_id' })
  roleId: number

  /** 用户信息 */
  @ManyToOne(() => User, { onDelete: 'CASCADE' })
  @JoinColumn({ name: 'user_id' })
  user: User

  /** 角色信息 */
  @ManyToOne(() => Role, { onDelete: 'CASCADE' })
  @JoinColumn({ name: 'role_id' })
  role: Role
}
